/* 
	该文件专门用于暴露一个store对象，整个应用只有一个store对象  他会拿到reducer新处理的state
*/
//引入createStore，专门用于创建redux中最为核心的store对象 combineReducers用来汇总reducer  给state赋新变量
import {createStore,applyMiddleware,combineReducers} from 'redux'
//引入为Count组件服务的reducer
import countReducer from './reducers/count'
//引入为Count组件服务的reducer
import personReducer from './reducers/person'
//引入redux-thunk，用于支持异步action
import thunk from 'redux-thunk'
import {createAddPersonAction} from "./actions/person";

//combineReducers汇总所有的reducer变为一个总的reducer
const allReducer = combineReducers({
    he:countReducer,   //countReducer的新的state赋值给he
    rens:personReducer  //personReducer的新的state赋值给rens
})
/*容器组件将这样使用：
* export default connect(
	state => ({yiduiren:state.rens,he:state.he}),//映射状态
	{jiaYiRen:createAddPersonAction}//映射操作状态的方法
)(Person)
* */
//暴露store
export default createStore(allReducer,applyMiddleware(thunk))